Coded light refers to a technique whereby data is modulated into the visible illumination emitted by a light source, e.g. by an LED based luminaire. Thus in addition to providing illumination (for which purpose a light source may already be present in an environment), the light source also acts as a transmitter capable of transmitting data to a suitable receiver of coded light. The modulation is typically performed at a high enough frequency that it is imperceptible to human vision, i.e. so the user only perceives the overall illumination and not the effect of the data being modulated into that illumination. In this way the data may be said to be embedded into the light from the light source.
An example of a coded light system is presented in “Implementation of a 84 Mbit/s Visible-Light Link based on Discrete-Multitone Modulation and LED Room Lighting”, by K. D. Langer published in Communication Systems Networks and Digital Signal Processing (CSN DSP), 2010. This document presents an implementation of a 84 Mbit/s optical wireless link based on commercially available LED luminaries. The paper discloses how a quasi-error-free data transmission was accomplished over typical indoor distances, e.g., between ceiling lamp and writing desk, by use of discrete-multitone modulation.
Coded light can be used in a number of applications. For instance, one application is to communicate between luminaires, e.g. as part of an intelligent lighting system. Each of a plurality of luminaires in an indoor or outdoor environment may be equipped with both a coded light transmitter and receiver, and the ability to communicate between them via coded light may be used to control the light in the environment in an at least partially distributed fashion. E.g. each luminaire may also be equipped with a presence sensor to detect presence of a being (typically a human), and information may be shared between two or more or the luminaires in order to determine how to control the light from the different luminaires in dependence on the detected presence.
In another example application, coded light may be used to provide information from a luminaire to a remote control unit for controlling that luminaire, e.g. to provide an identifier distinguishing it amongst other such luminaires which the remote unit can control, or to provide status information on the luminaire (e.g. to report errors, warnings, temperature, operating time, etc.). In one such example, the remote control unit may comprise a mobile user terminal such as smart phone or tablet having an inbuilt camera or other light sensor. With the terminal running a suitable application, the user can direct the camera at a luminaire and thereby detect the identifier coded into the light from that luminaire. Given the identifier of the luminaire it is looking at, the terminal may then control that luminaire by sending back a return signal (e.g. via RF).
In yet further applications the coded light may be used to provide information to a user, e.g. to provide identifiers of the luminaires for use in commissioning, or to enable provision of location related information. For example each luminaire in an indoor and/or outdoor environment (e.g. in the rooms and corridors of an office complex, and/or paths of a campus) may be arranged to emit light embedded with a respective identifier identifying it within that environment. If a user has a mobile terminal equipped with a camera or other light sensors, and an associated application for detecting coded light, the terminal can detect the identifier of a luminaire illuminating its current location. This can then be used to help the user navigate the environment, by looking up the current location in location database mapping the identifiers to locations of the luminaires. Alternatively or additionally, this may be used to look up information associated with the user's current location, such as information on exhibits in particular rooms of a museum. E.g. the look up may be performed via the Internet or a local network to which the terminal has access, or from a local database on the user terminal. Alternatively the information could be directly coded into the light from one or more luminaires. Generally speaking, the applicability of coded light is not limited.
One way to implement coded light is by amplitude keying, by switching the amplitude or power of the emitted light between discrete levels in order to represent channel bits (or more generally channel symbols). For instance in the simplest case, when the light source is on (emitting) this represents a channel bit of value 1 and when the light source is off (not emitting) this represents a channel bit of value 0, or vice versa. A photo sensor in the coded light receiver can detect when the light is on or off, or distinguish between the different levels, and thereby receive the channel bits or symbols.
In order to communicate data, the modulation typically involves a coding scheme to map data bits (sometimes referred to as user bits) onto channel bits. An example is a conventional Manchester code, which is a binary code whereby a user bit of value 0 is mapped onto a channel symbol off-on (channel bits 0 and then 1) and a user bit of value 1 is mapped onto a channel symbol on-off (channel bits 1 and then 0), or vice versa. The coding has at least two possible purposes. Firstly, as will be familiar to a person skilled in the art, in many coding schemes like Manchester coding, it allows the clock and data to be recovered from the same signal (otherwise a separate clock would have to be sent or the transmitter and receiver would have to be assumed to be perfectly synchronized). Secondly, it may have the effect of modifying the spectrum of the transmitted signal.
It has been noted that coded light is susceptible to interference from certain low-frequency sources such as the mains power supply (50 Hz or 60 Hz in most countries). Existing coded light techniques attempt to avoid parts of the spectrum where interference occurs (sometimes referred to as spectral confinement). Codes such as the Manchester code may be chosen for their effect of suppressing the spectral density curve of the transmitted signal at lower frequencies, thus avoiding regions of low frequency interference.